- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我们的目标是搜索用户输入的字符串并计算在其中找到多少元音。不幸的是我被困在这里,有什么帮助吗?
def numVowels(s):
vowels= "AEIOUaeiou"
if s == '':
return 0
khác:
totalVowels = list(filter(lambda vowels:sum("AEIOUaeiou"), s))
print(len((totalVowels)))
1 Câu trả lời
我将成对展示三种方法,每次通过 lambda
进行然后通过等效的生成器表达式。重要的是要理解生成器表达式(和列表推导式)只是一对 map
的语法糖。和 filter
操作,并且可以机械地来回平移。然而,表达/理解方式通常被认为更 Pythonic。
解决这样的问题的关键是你必须弄清楚你想在过滤器中做什么以及你想在 map 中做什么。也就是说:您必须能够编写查看一个元素并决定是否包含它的代码;以及查看一个元素并将其转换为更有用的值的代码。
所以在我们展示代码之前,让我们确保我们可以:
vowels
中字符串。这是微不足道的:我们可以从字面上问 Python 是否 letter in vowels
(假设 letter
是一些变量 - 但要注意 vowels
是一个字符串,这会进行子字符串搜索;您应该先将 vowels
转换为 bộ
)。制作 lambda
除此之外,我们简单地写:lambda letter: letter in vowels
. (我们可以在这里使用我们喜欢的任何变量名:这与编写函数相同。)1
如果是元音,并且是 0
除此以外。实际上,使用 letter in vowels
结果也同样有效,因为它返回 ĐÚNG VẬY
hoặc SAI
, 这些可用作数值 1
Và 0
分别。取决于你如何解释 Python 公理 explicit is better than implicit
,你可能更喜欢写 int(letter in vowels)
,甚至 1 if letter in vowels else 0
.为了减少示例的数量,我将使用 letter in vowels
,即使在我自己的代码中我喜欢最后一个 :) vowels
应该是
bộ
.我只会在这里展示一次:
vowels = set("AEIOUaeiou")
.下面显示的函数自然地假设它是一个全局的 ;) 最后,请注意没有理由以不同的方式对待空字符串。你可以完美地迭代一个空字符串,找到没有元素,将它们相加为 0,找到它的长度为 0,等等。它根本不会改变逻辑。
Special cases aren't special enough
.
def vowels_by_filter(string):
return len(filter(lambda letter: letter in vowels, string))
def vowels_by_filter_expression(string):
return len(letter for letter in string if letter in vowels)
1
hoặc
0
(即每个字母包含的“元音数”),并将结果相加:
def vowels_by_map(string):
return sum(map(lambda letter: letter in vowels, string))
def vowels_by_map_expression(string):
return sum(letter in vowels for letter in string)
def vowels_by_both(string):
return sum(map(lambda letter: 1, filter(lambda letter: letter in vowels, string)))
def vowels_by_full_expression(string):
return sum(1 for letter in string if letter in vowels)
vì
之前的部分是我们的
map
, 以及结尾
nếu như
之后的部分(如果包含)是我们的
filter
.我们总是必须用这些写一个“映射”(即使转换相当于
lambda x: x
),但它使我们不必写出完整的
lambda
语法,并且当存在时,我们对“map”和“filter”使用相同的自由变量(即,我们的迭代变量,
letter
TRONG
for letter in string
).
关于Python Lambda 实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32572791/
Bài viết này được chia sẻ từ Cộng đồng đám mây Huawei "Đào tạo phân tán các mô hình lớn LLM", tác giả: 码上开花_Lancer. Với sự phát triển nhanh chóng của các tham số mô hình ngôn ngữ và lượng dữ liệu đào tạo cần thiết, các tài nguyên hạn chế trên một máy duy nhất không còn có thể đáp ứng được các yêu cầu đào tạo mô hình ngôn ngữ quy mô lớn. Cần thiết kế đào tạo phân tán
Bài viết này được chia sẻ từ Cộng đồng đám mây Huawei "Năm thuật toán cơ bản - Lập trình động", tác giả: Dajin (Nội Mông). 1. Các khái niệm cơ bản Lập trình động rất giống với phương pháp chia để trị. Sự khác biệt là khi giải một bài toán con, lời giải của bài toán con đó sẽ được lưu lại, còn khi giải các bài toán con tiếp theo thì có thể sử dụng trực tiếp.
pip install scp pip install pexpect Mã kiểm tra: import os import stat import paramiko # Được sử dụng để gọi lệnh scp def s
Hiện tại tôi đang triển khai dịch vụ REST "mã thông báo". Mã thông báo chỉ là một chuỗi, được xây dựng từ một số tham số, sau đó được băm và hết hạn sau một khoảng thời gian nhất định. Tôi muốn có một điểm cuối trong dịch vụ REST của mình có thể xác thực mã thông báo.
Khi bật tính năng xóa mềm, tôi thêm một bản ghi vào máy khách, đẩy, xóa bản ghi đã thêm bằng cách đẩy, sau đó thử thêm một bản ghi mới có cùng khóa chính với bản ghi ban đầu (và sau đó đẩy), tôi nhận được một ngoại lệ. Quản lý tên miền thực thể
Khi bật tính năng xóa mềm, tôi thêm một bản ghi vào máy khách, đẩy, xóa bản ghi đã thêm bằng cách đẩy, sau đó thử thêm một bản ghi mới có cùng khóa chính với bản ghi ban đầu (và sau đó đẩy), tôi nhận được một ngoại lệ. Quản lý tên miền thực thể
Tôi có một ứng dụng nhận thông tin thời tiết cứ x giây một lần. Tôi muốn lưu dữ liệu này vào một tệp XML. Tôi có nên tạo một tệp XML mới cho mỗi thông báo thời tiết hay thêm mỗi thông báo vào cùng một tệp XML không? Tôi không chắc chắn về tiêu chuẩn XML
Tôi đoán hầu hết chúng ta đều phải đối mặt với vấn đề này vào một thời điểm nào đó, vì vậy tôi nghĩ mình nên đặt câu hỏi. Khi bạn có nhiều bộ sưu tập trong BLL của mình và bạn thấy mình đang viết đi viết lại các thuật ngữ nội tuyến cũ (ẩn danh), thì việc đóng gói rõ ràng là cần thiết, nhưng cách tốt nhất để đạt được điều đó là
Tôi có một số mã C# đã chạy tốt trong một thời gian rồi... và tôi phải nói rằng, mặc dù tôi hiểu những nguyên tắc cơ bản của OO, nhưng rõ ràng có nhiều cách để giải quyết vấn đề (mặc dù tôi ghét cụm từ đó!). Vì vậy, tôi có một lớp trừu tượng cơ sở làm lớp dịch vụ dữ liệu cơ sở như sau
Tôi đang thiết kế một hệ thống cơ sở dữ liệu SQL (sử dụng Postgre) và tôi có một câu hỏi về phương pháp chung để tạo mối quan hệ/tham chiếu vẫn tồn tại ngay cả khi đối tượng được tham chiếu bị xóa. Ví dụ, có một UserORM và một Act
Mục tiêu của chúng tôi là tìm kiếm chuỗi ký tự do người dùng nhập vào và đếm xem có bao nhiêu nguyên âm trong đó. Thật không may là tôi bị kẹt ở đây, có ai giúp tôi không? def numVowels(s): nguyên âm = "AEIOUaeiou" nếu s
Tôi có một hàm xoay hoạt động trên mảng int "items" của tôi. Đoạn mã bên dưới thực hiện được điều đó, ngoại trừ việc tôi chuyển các giá trị không cần thiết. Tôi đang cố gắng thực hiện phép xoay "tại chỗ". Ý tôi là các ptrs được tăng hoặc giảm chứ không lấy giá trị từ mảng. Tôi cần phương pháp này
Tôi có một tệp json được lưu trữ trong thư mục tài liệu ứng dụng và tôi cần sử dụng nó trong tất cả các Chế độ xem của mình. Tôi đang tải json và thêm nó vào NSMutableArray trong mỗi View. Nhưng bây giờ tôi biết rằng tôi có thể
Tôi đã bắt đầu một dự án bằng C++. Quản lý bộ nhớ trong ngôn ngữ này là điều mới mẻ với tôi. Tôi từng tạo các đối tượng bằng new() rồi truyền con trỏ xung quanh, và mặc dù nó hoạt động, nhưng việc gỡ lỗi rất khó khăn và mọi người nhìn tôi với ánh mắt lạ khi họ nhìn thấy mã. Tôi không có nó cho
Hoàn thành. Câu hỏi này không liên quan đến chủ đề. Hiện tại không chấp nhận câu trả lời. Bạn có muốn cải thiện câu hỏi này không? Cập nhật câu hỏi để phù hợp với chủ đề trên Stack Overflow. Đã đóng cửa 10 năm trước. Cải thiện điều này
Việc giữ các lớp được kết nối lỏng lẻo là một khía cạnh quan trọng của việc viết mã dễ hiểu, dễ sửa đổi và dễ gỡ lỗi - Tôi hiểu điều đó. Tuy nhiên, là người mới, hầu như lúc nào tôi cũng phải vượt ra ngoài ví dụ đơn giản nhất mà tôi đang gặp khó khăn. Tôi ít nhiều hiểu cách đóng gói chuỗi, số nguyên và các kiểu dữ liệu đơn giản.
Tôi thấy rằng mình cần phải viết rất nhiều mã trùng lặp vì tôi không thể gọi các hàm từ các Bộ điều khiển khác. Ví dụ, ở đây nội dung nguồn cấp tin tức được lặp lại trong mã của tôi và tôi thực hiện một số thao tác cụ thể cho một Bộ điều khiển sau đó cần tải nguồn cấp tin tức của tôi như thế này
Giả sử bạn cần một kiểu dữ liệu số có các giá trị được phép nằm trong một phạm vi xác định. Cụ thể hơn, giả sử bạn muốn định nghĩa một kiểu số nguyên có giá trị nhỏ nhất là 0 và giá trị lớn nhất là 5000. Tình huống này phát sinh trong nhiều trường hợp, ví dụ như khi mô hình hóa các kiểu dữ liệu cơ sở dữ liệu, các kiểu dữ liệu XSD. hiện hữu
Giả sử tôi muốn lặp qua mảng để truy cập vào từng phần tử. Có phải thông lệ chuẩn đối với các nhà phát triển JavaScript là sử dụng vòng lặp for, vòng lặp for...in hay vòng lặp for...of không? Ví dụ: var myArray = ["app
Tôi có một ứng dụng SL4/ria cũ mà tôi muốn thay thế bằng Breeze. Tôi có một câu hỏi liên quan đến việc sử dụng bộ nhớ và lưu trữ đệm. Ứng dụng của tôi tải danh sách các công việc (một người dùng thông thường có thể truy cập vào khoảng 1.000 công việc trong số này). Ngoài ra, còn có rất nhiều
Tôi là một lập trình viên xuất sắc, rất giỏi!