Tôi có một Dict test
tuyên bố:
test = {'test1': 1, 'test2': 2, 'test3': 3}
Và tôi muốn tạo một bản sao của test
lọc ra các khóa cụ thể có thể hoặc không tồn tại.
Tôi đã thử như sau:
test_copy = {k: test[k] for k not in ['test3', 'test4']}
Tuy nhiên, Python dường như không thích các vòng
test_copy = {k: test[k] for k not in ['test3', 'test4']}
0. Có cách nào để làm điều này độc đáo trong một dòng không?Tôi không tin câu hỏi này là một bản sao của sự hiểu biết danh sách với câu lệnh IF vì tôi đã tìm kiếm hơn một vài phút cụ thể cho các dicts.
Đã hỏi ngày 5 tháng 11 năm 2015 lúc 0:10Nov 5, 2015 at 0:10
3
Sự hiểu biết từ điển
test_copy = {k: test[k] for k not in ['test3', 'test4']}
1 sẽ hoàn thành việc sao chép.
Brenbarn
235K35 Huy hiệu vàng399 Huy hiệu bạc376 Huy hiệu Đồng35 gold badges399 silver badges376 bronze badges
Đã trả lời ngày 5 tháng 11 năm 2015 lúc 0:13Nov 5, 2015 at 0:13
PPPeryppperypppery
3.62220 Huy hiệu vàng31 Huy hiệu bạc44 Huy hiệu đồng20 gold badges31 silver badges44 bronze badges
1
Bạn cần nêu "không trong" trong điều kiện:
test_copy = {k: test[k] for k in test if k not in ['test3', 'test4']}
Đã trả lời ngày 5 tháng 11 năm 2015 lúc 0:13Nov 5, 2015 at 0:13
PPPeryppperyAndy Hayden
3.62220 Huy hiệu vàng31 Huy hiệu bạc44 Huy hiệu đồng97 gold badges607 silver badges525 bronze badges
Lặp lại & nbsp; có nghĩa là thực thi cùng một khối mã nhiều lần, có khả năng nhiều lần. Python từ WHER & nbsp; câu lệnh được sử dụng để xây dựng các vòng lặp. & Nbsp; means executing the same block of code over and over, potentially many times. Python’s while statement is used to construct loops.
A & nbsp; trong khi vòng lặp trong python được sử dụng để lặp lại trong khối mã miễn là điều kiện kiểm tra] là đúng. Vòng lặp trong khi được sử dụng để thực thi tập hợp các câu lệnh miễn là điều kiện là đúng. Vòng lặp trong khi bảo một máy tính làm một cái gì đó miễn là điều kiện được đáp ứng hoặc giữ đúng.condition] is True. The While Loop is used to execute the set of statements as long as the condition is True. The while loop tells a computer to do something as long as the condition is met or holds True.
Một thời gian & nbsp; notloop trong Python liên tục thực hiện cơ thể vòng lặp cho đến khi điều kiện để chấm dứt vòng lặp được đáp ứng. Sử dụng cú pháp trong khi không điều kiện với điều kiện làm biểu thức boolean để thực hiện cơ thể vòng lặp nếu điều kiện đánh giá là sai.while not loop in Python repeatedly executes the loop’s body until the condition for loop termination is met. Use the syntax while not condition with the condition as a boolean expression to execute the loop’s body if the condition evaluates to False.
Ví dụ về trong khi không
data = 5 while not [data == 0] : print[data] data = data - 1
Đầu ra
5 4 3 2 1
Bạn có thể sử dụng cú pháp trong khi biến không có trong đó có thể thực hiện được cơ thể vòng lặp nếu biến không được lặp lại.“while variable not in” iterable to execute the loop’s body if the variable is not iterable.
listA = [1, 2, 3] while 7 not in listA: listA.append[len[listA] + 1] print[listA]
Đầu ra
1, 2, 3, 4, 5, 6, 7]
Bạn có thể sử dụng cú pháp trong khi biến không có trong đó có thể thực hiện được cơ thể vòng lặp nếu biến không được lặp lại.
Python nghỉ và tiếp tục tuyên bốbreak statement immediately terminates a loop entirely. Python continue statement immediately terminates the current loop iteration.
Python & nbsp; Tuyên bố phá vỡ ngay lập tức chấm dứt hoàn toàn một vòng lặp. Python & nbsp; Tiếp tục & nbsp; câu lệnh ngay lập tức chấm dứt lặp lại vòng lặp hiện tại.
Python trong khi điều khoản khác
Python thừa nhận một điều khoản khác tùy chọn ở cuối vòng lặp. Đây là một tính năng mới lạ của Python, không được tìm thấy trong hầu hết các ngôn ngữ lập trình khác.
while : else:
Cú pháp specified in the else clause will be executed when the while loop terminates.
Các điều khoản được chỉ định trong mệnh đề khác sẽ được thực thi khi vòng lặp chấm dứt.
Đó là nó trong khi không lặp lại trong Python.
Xem thêm
Python trong khi khác
Python cho vòng lặp
Phạm vi Python đảo ngược