- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
Tôi có một cái扁平数字列表,这些数字逻辑上以 3 为一组,其中每个三元组是 (number, __ignored, flag[0 or 1]),例如:
[7,56,1, 8,0,0, 2,0,0, 6,1,1, 7,2,0, 2,99,1]
我想(以 Python 方式)处理此列表以根据“标志”的值创建一个新的数字列表:如果“标志”为 1,则我需要“数字”,否则为 0。所以上面的列表会变成:
[7, 0, 0, 6, 0, 2]
我最初的尝试是:
list = [7,56,1, 8,0,0, 2,0,0, 6,1,1, 7,2,0, 2,99,1]
numbers = list[::3]
flags = list[2::3]
result = []
for i,number in enumerate(numbers):
result.append(number if flags[i] == 1 else 0)
这行得通,但在我看来应该有更好的方法从列表中干净地提取元组。像这样的东西:
list = [7,56,1, 8,0,0, 2,0,0, 6,1,1, 7,2,0, 2,99,1]
for (number, __, flag) in list:
...etc
但是我好像做不到。
我可以循环遍历整个列表:
result = []
for i in range(0, len(list), 3):
result.append(list[i] if list[i+2] == 1 else 0)
这看起来更小也更高效。
我不清楚这里的最佳选择。任何建议将不胜感激。
Để ý:我已经接受了wim的回答:
[L[i]*L[i+2] for i in range(0, len(L), 3)]
但要重申 wims 和 ShadowRangers 响应都有效。我接受了基于简单明了的 wim 的回答(并且,在较小程度上,与 python 2 的兼容性,尽管 ShadowRanger 指出 zip 也在 Py2 中,所以这个基础是无效的)。
ShadowRanger 的回答:
[number if flag else 0 for number, _, flag in zip(*[iter(mylist)]*3)]
也完全符合我的想法(提供元组),但有点晦涩难懂并且需要 zip。正如 wim 指出的那样,ShadowRanger 的答案非常适合数据流而不是固定列表。
我还要指出,ShadowRanger 的回答增加了对 zip() 的模糊使用(随着时间的推移会变得不那么模糊),但是通过使用元组的命名值增加了清晰度,所以这有点赢/输。
对于那些努力理解 zip(*[iter(mylist)]*3)]
的人来说,它创建了一个迭代器的三个副本,然后用于构造元组。因为它是同一个迭代器,所以每次使用都会推进迭代器,使元组完全符合我的要求。
为了清楚和通用,我也有点倾向于@ShadowRanger 的解决方案的修改版本:
i = iter(mylist)
[number if flag else 0 for number, _, flag in zip(i, i, i)]
(对我来说,这似乎不那么晦涩)。
1 Câu trả lời
我认为最直接的方法是简单的列表理解:
>>> [L[i]*L[i+2] for i in range(0, len(L), 3)]
[7, 0, 0, 6, 0, 2]
或者考虑 numpy,它对于这样的任务非常强大:
>>> import numpy as np
>>> a = np.array(L).reshape(-1, 3).T
>>> một
array([[ 7, 8, 2, 6, 7, 2],
[56, 0, 0, 1, 2, 99],
[ 1, 0, 0, 1, 0, 1]])
>>> a[0]*a[2]
array([7, 0, 0, 6, 0, 2])
关于python - python 列表的子集基于同一列表的元素组,pythonically,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58091360/
Tôi đang thực hiện việc chia nhỏ một đối tượng ffdf lớn và tôi nhận thấy rằng khi sử dụng subset.ff, nó tạo ra rất nhiều NA. Tôi đã thử một cách tiếp cận khác bằng cách sử dụng ffwhich và nó nhanh hơn nhiều và không tạo ra NA nào. Đây là bài kiểm tra của tôi:
Tôi còn khá mới với Prolog. Tôi đang cố viết một hàm subset(Set, Subset) để xác định xem Subset có phải là tập hợp con của Set hay không (điều hiển nhiên). Ngoài ra, nếu đối số thứ hai không được khởi tạo, nó sẽ xuất ra mọi tập hợp con có thể
1. Câu hỏi đưa cho bạn một mảng số nguyên nums và các phần tử trong mảng này là khác nhau. Trả về tất cả các tập hợp con có thể có (tập hợp lũy thừa) của mảng. Bộ giải pháp không thể chứa các tập hợp con lặp lại. Bạn có thể trả lại các giải pháp theo bất kỳ thứ tự nào. 2. Ví dụ đầu vào: nums = [1,2
Tôi muốn loại trừ một cột khỏi một hoạt động trên một khung dữ liệu. Tất nhiên tôi có thể sao chép khung dữ liệu mà không cần loại trừ các cột, nhưng điều này có vẻ như là một giải pháp tạm thời. Tôi nghĩ phải có cách nào đó dễ hơn để thực hiện phép chia con. Vì vậy, đoạn mã ví dụ này sẽ cho thấy những gì tôi đang làm. df cộtMe
Tôi có một SpatialPolygonsDataFrame mà tôi đã tạo bằng cách đọc shapefile bằng readOGR trong gói rgdal. Tôi đang cố gắng sử dụng điều này để tạo lưới lấy mẫu bằng spsample
Tôi đang cố gắng giải quyết một vấn đề đơn giản nhưng không tìm ra giải pháp mặc dù đã thử nhiều cách khác nhau. Tôi đang sử dụng SICStus Prolog (nếu điều đó quan trọng) và tôi muốn lấy tất cả các danh sách con/tập hợp con (tôi không biết thuật ngữ nào là đúng) của một danh sách, trong đó
Hiện tại tôi đang sử dụng shinyTable, đây là một triển khai tương thích với shiny của HandsonTable (https://github.com/trestletech/shinyTable). Thật tình cờ, tôi nhận ra
Tôi đang xây dựng một biểu mẫu trong Delphi có danh sách thả xuống các dịch vụ và một lưới thành phần bổ sung để chọn dịch vụ. Dữ liệu tôi nhận được đến từ API và tôi lưu trữ dữ liệu của dịch vụ trong ADODataSet như thế này: ID (số nguyên
Có vấn đề với hàm subset(). Làm thế nào tôi có thể phân chia một hệ số trong khung dữ liệu của mình theo số lượng quan sát? TÊN LỚP MÀU GIÁ TRỊ antonio
Tôi tự hỏi liệu có thuật toán đơn giản nào để so sánh xem một hàm băm có phải là tập hợp con của một hàm băm khác hay không. Ví dụ, nếu $HASH{A} = B; $HASH{B} = C; $HASH{C} = D; $HASH2{A} = B; $HA
Câu hỏi này đã có câu trả lời tại đây: Kết hợp mảng không lặp lại (1 câu trả lời) Đã đóng 8 năm trước. Cho một mảng, làm thế nào để tìm một kích thước nhất định trong postgresql
Tôi có quy trình tiếp theo. Tôi nên sử dụng trình lặp trong main như thế nào để hiển thị tập hợp con có tổng bằng 0? Chương trình của tôi sẽ in ra: 2 -2 5 -5 # include # include sử dụng không gian tên st
Tôi đang tìm kiếm một trình phân tích cú pháp Markdown có thể tùy chỉnh, tốt nhất là bằng Javascript. Đặc biệt, tôi muốn loại bỏ tùy chọn sử dụng thẻ HTML thực tế. Tôi đã thử chỉnh sửa nguồn của showdown nhưng không thể tìm ra cách. Tích hợp Jquery cũng tốt, mặc dù
Tôi có một tệp có danh sách tên (tệp tham chiếu 1): Apple Bat Cat Tôi có một tệp khác (tệp tham chiếu 2) có danh sách tên và thông tin chi tiết tham chiếu: Apple bla blaa aaaaaaaaaagggggg
Tôi có hai tập tin với các dòng được sắp xếp. Một tệp (B) là tập hợp con của tệp khác (A). Tôi muốn tìm tất cả các hàng trong A không có trong B. Lý tưởng nhất là tôi muốn tạo một tệp (C) chứa những dòng này. Điều này có thể thực hiện được trong Unix không? Tôi đang tìm kiếm một
Tôi có một khung dữ liệu với một cột chứa các chuỗi peptide và tôi chỉ muốn giữ lại các hàng không có chữ "R" hoặc "K" bên trong chuỗi. df1 <- data.frame( Peptide = c("ABCOIIJUHFSAUJHR", "AOFI
Câu hỏi này đã có câu trả lời tại đây: Cách chia ma trận thành một cột, duy trì kiểu dữ liệu ma trận, duy trì hàng/cột na
Giả sử tôi có một vector danh sách: library(tidyverse) d 2) # A tibble: 5 x 1 x 1 2 3 4 5 Câu trả lời tốt nhất phải là lengt
Tôi chưa bao giờ tự chạy javadoc (từ dòng lệnh hoặc với tác vụ javadoc của ant; tôi sẽ sử dụng ant) -- Tôi cần tạo một javadoc cho thư viện mà tôi đang viết. Vấn đề là thư viện java của tôi được tổ chức thành nhiều gói, trong
Giả sử có một chương trình mã hóa nhiều bên, tương tự như câu trả lời cho câu hỏi: Mã hóa bằng nhiều khóa khác nhau? . Nghĩa là. Một bộ khóa K có thể được sử dụng để giải mã văn bản mã hóa. Có cách nào để hết hạn: K'⊆ K sao cho K \ K
Tôi là một lập trình viên xuất sắc, rất giỏi!